#include <iostream>
#include <algorithm>
#include <cstring>
using namespace std;
int t,m,n;
const int N=55;
int a[N][N];
bool st[N][N];
int dx[]={0,-1,0,1};
int dy[]={1,0,-1,0};
int ret=0;
void dfs2(int r,int c)
{
	st[r][c]=true;
	for(int i=0;i<4;i++)
	{
		int x=r+dx[i],y=c+dy[i];
		if(x<1||x>m||y<1||y>n||st[x][y]||a[x][y]==0)continue;
		dfs2(x,y);
	}
	
}
void dfs1(int r,int c)
{
	st[r][c]=true;
	for(int i=-1;i<=1;i++)
	{
		for(int j=-1;j<=1;j++)
		{
			int x=r+i,y=c+j;
			if(x<0||x>m+1||y<0||y>n+1||st[x][y]==true)continue;
			if(a[x][y]==0)dfs1(x,y);
			else
			{
			dfs2(x,y);
			ret++;}
		}
	}
}
int main()
{
	cin>>t;
	while(t--)
	{
		memset(st,0,sizeof st);
		memset(a,0,sizeof a);
		cin>>m>>n;
		ret=0;
		for(int i=1;i<=m;i++)
		{
			for(int j=1;j<=n;j++)
		   {
		   	char x;
		   	cin>>x;
		   	a[i][j]=x-'0';
			}
		}
		dfs1(0,0);
		cout<<ret<<endl;
	}
	return 0;
}
